/* 方法一：
			
			思路：1）构建一个新的数组存放结果；
			
			     2）for循环中每次从原数组中取出一个元素，用这个元素循环与结果数组对比；
			
			     3）若结果数组中没有该元素，则存到结果数组中。 */
Array.prototype.unique1 = function () {
    var res = [this[0]]
    for (var i = 1; i < this.length; i++) {
        var repeat = false
        for (var j = 0; j < res.length; j++) {
            if (this[i] == res[j]) {
                repeat = true
                break
            }
        }
        if (!repeat) {
            res.push(this[i])
        }
    }
    return res
}
var arrNum2 = [5, 4, 26, 9, 4, 8, 5, 14]
console.log(arrNum2.unique1())

/* 方法二：
                思路: 1）构建一个临时数组存放结果F；

                      2）循环遍历当前数组，判断当前数组下标为i的元素是否已经保存在临时数组，如果已保存，则跳过，否则将此元素保存到临时数组中。 */
Array.prototype.method1 = function () {
    var arr = [] //定义一个临时数组
    for (var i = 0; i < this.length; i++) {
        //循环遍历当前数组
        //判断当前数组下标为i的元素是否已经保存到临时数组
        //如果已保存，则跳过，否则将此元素保存到临时数组中
        if (arr.indexOf(this[i]) == -1) {
            arr.push(this[i])
        }
    }
    return arr
}
var arrNum1 = [5, 4, 26, 9, 4, 8, 5, 14]
console.log(arrNum1.method1())

// 原生方法：
var arr = [5, 4, 26, 9, 4, 8, 5, 14]
var arr1 = []
for (var i = 0; i < arr.length; i++) {
    if (arr1.indexOf(arr[i]) == -1) {
        arr1.push(arr[i])
    }
}
document.write("排重后数组为：" + arr1)
